<?php
// +----------------------------------------------------------------------
// | 有理想的地方，地狱都是天堂。
// +----------------------------------------------------------------------
// | Copyright @ df81.com 版权所有
// +----------------------------------------------------------------------
// | 作者: 南国老符 邮箱：1062129401@qq.com
// +----------------------------------------------------------------------

namespace app\middleware;
use think\facade\Config;
use think\facade\Db;

class Template{
    public function handle($request, \Closure $next) {
        $app = app('http')->getName();
        /*自动切换主题、皮肤、电脑端和移动端 开始*/
        if(!in_array($app, array('admin','api','middleware'))){//如果不是后台模块
            $default_view_path = config('template.view_path').config('template.theme').'/';
            /*城市分站 开始*/
            $host = request()->host(true);
            $cityTemplate = Db::name('area')->where('bind_domain',$host)->value('template');
            if(!empty($cityTemplate) and !in_array($host,array('127.0.0.1','localhost'))){
                $default_view_path = config('template.view_path').$cityTemplate.'/';
                Config::set(['skin'=>'/skin/index/'.$cityTemplate], 'template');
            }
            /*城市分站 结束*/
            $equipment = 'pc';
            //来访设备是移动端
            if (request()->isMobile() and config('template.settheme') == 0) $equipment = 'mobile';
            //重置模板路径
            $config_data = [
                'view_path' => $default_view_path . $equipment . '/',
            ];
            Config::set($config_data, 'view');
            //重置皮肤路径
            //tp5.1.14起动态配置模板路径改变了
            //Config::set('template.tpl_replace_string.__PUBLIC__', config('template.tpl_replace_string.__PUBLIC__').'/'.config('global.'));
            //tp6.0起Config类不再支持动态设置某个配置参数，但可以支持批量设置更新配置参数。
        }
        //dd(config('view.view_dir_name'));
        /*自动切换主题、皮肤、电脑端和移动端 结束*/
        return $next($request);
    }
}